package com.basker.pisces.core.meta.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.basker.pisces.core.meta.DataObjectField;
import com.basker.pisces.core.meta.IDataField;

/**
 * 标记返回值为对象的方法，获取一个{@link DataObjectField}
 *
 * @author hangwen
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(value = {ElementType.FIELD, ElementType.METHOD})
public @interface ObjectField {
    /**
     * 显示名称
     *
     * @return
     * @see IDataField#getDisplayName()
     */
    String displayName() default "";

    /**
     * 字段的名称,为空的话会按照POJO规范取方法的属性名
     *
     * @return
     * @see IDataField#getName()
     */
    String name() default "";
}
